package ar.edu.utn.frba.disenio.aterrizar;

import java.util.ArrayList;
import com.lanchita.AerolineaLanchita;
import com.lanchita.excepciones.*;

public class AdapterLanchita extends Aerolinea {
	
	public double recargoAerolinea;
	public AerolineaLanchita aerolinea;
	
	public AdapterLanchita(AerolineaLanchita aerolinea){
		this.aerolinea = aerolinea;
		this.recargoAerolinea = 1.15;
	}
	
	public ArrayList<Vuelo> asientosTotales(){
		
		String[][] asientosTotales = aerolinea.asientosDisponibles(null, null, null, null, null, null);
		
		ArrayList<Vuelo> retVal = new ArrayList<Vuelo>();
		
		for(String[] unAsiento : asientosTotales){
			retVal.add(new Vuelo(unAsiento));
        }  
		return retVal;
	}
	
	public ArrayList<Vuelo> buscarVuelos(String origen, String destino, String fechaSalida){
		
		String[][] disponibles = this.aerolinea.asientosDisponibles(origen, destino, fechaSalida, null, null, null);
		
		ArrayList<Vuelo> retVal = new ArrayList<Vuelo>();
		
		for(String[] unVuelo : disponibles){
			retVal.add(new Vuelo(unVuelo));
        }  
		return retVal;
    }
	
	public void comprarAsiento(String codigoAsiento){
		try
		{
			this.aerolinea.comprar(codigoAsiento);
		}
		catch(EstadoErroneoException e)
		{
			throw new AsientoNoDisponibleException();
		}
		catch(CodigoErroneoException e){
			throw new AsientoErroneoException();
		}
		
	}
	
}
